<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
	// * 解构赋值可以应用在函数参数的传递过程中。
	{
		// function fn({a,b,c}){
		// 	console.log(a,b,c);// 1 2 3
        // }
		// fn({a:1,b:2,c:3});
        //
		// function fn2([a,b,c,d]){
		// 	console.log(a,b,c,d);// 1 2 3 4
        // }
		// fn2([1,2,3,4])
    }
	// * 如果调用函数时不提供被解构的参数会导致程序抛出错误
	{
		// function fn({a,b,c}){
        //
        // }
		// fn();

        // 1- 函数接收的参数如果未传递，那么默认值为undefined
        // function fn(obj){
		// 	console.log(obj);// undefined
        // }
		// fn();

        // 2- 可以指定默认值（=）
		// function fn(obj={}){
		// 	console.log(obj);// 1
		// }
		// fn();

        // 3- 解决异常
		function fn({a=1,b=2,c=3}={}){
			console.log(a,b,c);// 1 2 3
		}
		fn();
    }
</script>
</html>